#include "binarytree.hpp"
#include <iostream>
#include <vector>

using namespace std;

int main()
{
    BinaryTree btree;
    vector<int> source = {1,4,5,6,7,3,43,2};
    btree.BuildBinaryTree(source);
    btree.BinaryTreePrevOrder(btree._root);
    cout << endl;
    btree.BinaryTreePostOrder(btree._root);
    cout << endl;
    btree.BinaryTreeInOrder(btree._root);
    cout << endl;
    btree.BinaryTreeLevelOrder(btree._root);
    cout << btree.BinaryTreeNodeNum(btree._root) << endl;
    cout << btree.BinaryTreeSize(btree._root) << endl;
    cout << btree.BinaryTreeLevelKSize(btree._root, 3) << endl;
    cout << btree.BinaryTreeLevelKSize(btree._root, 2) << endl;
    cout << btree.BinaryTreeLevelKSize(btree._root, 4) << endl;
    cout << btree.BinaryTreeLeafSize(btree._root) << endl;
    cout << btree.BinaryTreeFind(btree._root, 6) << endl;
    cout << btree.BinaryTreeFind(btree._root, 0) << endl;


    return 0;
}